package br.ucb.service.impl;

import br.ucb.dao.LivroDAO;
import br.ucb.dao.impl.LivroDAOImpl;
import br.ucb.entidade.Livro;
import br.ucb.excecao.RegrasException;
import br.ucb.service.LivroService;

public class LivroServiceImpl_1 extends AbstractEntidadeService<Livro, LivroDAO> implements LivroService{

	@Override
	protected void validarRegras(Livro entidade) throws RegrasException {
		StringBuilder sb = new StringBuilder();
		sb.append("Informe um:");
		
		if(entidade.getTitulo() == null || entidade.getTitulo().trim().isEmpty()){
			sb.append(" T�tulo,");
		}
		if(entidade.getEditora() == null || entidade.getEditora().trim().isEmpty()){
			sb.append(" Editora,");
		}
		if(entidade.getGenero() == null || entidade.getGenero().trim().isEmpty()){
			sb.append(" G�nero,");
		}
		if(entidade.getAno() == null || entidade.getAno().trim().isEmpty()){
			sb.append(" Ano,");
		}

		
		if(entidade.getCorredor() == null || entidade.getCorredor().trim().isEmpty()){
			sb.append(" Corredor,");
		}
		if(entidade.getEstante() == null || entidade.getEstante().trim().isEmpty()){
			sb.append(" Estante,");
		}
		if(entidade.getPrateleira() == null || entidade.getPrateleira().trim().isEmpty()){
			sb.append(" Prateleira,");
		}
		if(entidade.getQtdeDisponivel() == null){
			sb.append(" Qtde Dispon�vel,");
		}

		if(sb.length()>12){
			sb.deleteCharAt(sb.length()-1);
			throw new RegrasException(sb.toString());
		}
	}

	@Override
	public void inicializarDao() {
		super.dao = new LivroDAOImpl();
	}

}
